class FoodItem {
  final int foodId;
  final String foodName;
  final String foodImg;
  final String foodExplain;
  final double foodPrice;
  int? quantity;

  FoodItem({required this.foodId, required this.foodName, required this.foodImg,required this.foodExplain, required this.foodPrice, this.quantity=0});

  // factory关键字用于创建一个工厂构造函数。工厂构造函数在创建对象时可以返回一个已经存在的实例，也可以返回一个子类的实例。在上面的代码中，factory User.fromJson是一个工厂构造函数，
  // 用于从Map<String, dynamic>类型的JSON数据中创建一个User对象。

  // 使用工厂构造函数的好处在于可以控制对象的创建过程，例如可以在工厂构造函数中实现对象的缓存、对象池等机制，从而提高性能或实现一些特定的逻辑。
  // 如果不使用工厂构造函数，也可以实现相同的功能，但是需要在类的构造函数中直接处理JSON数据的转换，而不是将这个过程封装在一个独立的工厂构造函数中。使用工厂构造函数可以使代码更加清晰、模块化，并且有利于代码的维护和扩展。
  factory FoodItem.fromJson(Map<String, dynamic> json) {
    return FoodItem(
      foodId: json['foodId'],
      foodName: json['foodName'],
      foodImg: json['foodImg'],
      foodExplain: json['foodExplain'],
      foodPrice: json['foodPrice'],
    );
  }
}
